algorithm in python